package com.ybl.store.backend.service.deal;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ybl.store.backend.dao.entity.deal.DealVoucherDO;
import com.ybl.store.backend.dto.req.deal.DealVoucherSaveReqDTO;
import com.ybl.store.backend.dto.req.deal.DealVoucherUpdateReqDTO;
import com.ybl.store.backend.dto.resp.deal.DealVoucherExportRespDTO;
import com.ybl.store.backend.dto.resp.deal.DealVoucherPageRespDTO;
import com.ybl.store.common.entity.ListRespDTO;

import java.util.List;

public interface DealVoucherService extends IService<DealVoucherDO> {

    void saveDealVoucher(DealVoucherSaveReqDTO requestParam);

    void deleteDealVoucher(Long id);

    void updateDealVoucher(DealVoucherUpdateReqDTO requestParam);

    ListRespDTO<DealVoucherPageRespDTO> pageDealVoucher(Integer pn, Integer ps, Long storeId, Long clerkId, Long customerId, Long voucherId, String startTime, String endTime, Integer type);

    List<DealVoucherExportRespDTO> export();

    void checkSerial(String serial, Long dealProductId);

    void updateType(String serial,Long dealProductId);

    void exchangeVoucher(Long dealProductId);
}
